/*********************************************************************
**	File: eEngine.hpp
**	Author: Asteroth
**	Date: Apr 27, 2009
*********************************************************************/

#ifndef __EENGINE_HPP__
#define __EENGINE_HPP__

#include <estdlib/Defines.hpp>
#include <estdlib/Generics.hpp>
#include <estdlib/String.hpp>
#include <estdlib/GarbageCollector.hpp>

//#include <cstdlib>
#include <fstream>
#include <iostream>
#include <math.h>
#include <time.h>

#include "GLee/GLee.hpp"

namespace engine
{
    namespace core
    {
        class Math;

        template <class T> class Vector2x;
        template <class T> class Vector3x;
        template <class T> class Quaternionx;
        template <class T> class Matrix4x4x;
        template <class T> class Rectanglex;
        template <class T> class Boxx;

        #include "Core/Math.hpp"

        #include "Core/Vector2.hpp"
        #include "Core/Vector3.hpp"
        #include "Core/Quaternion.hpp"
        #include "Core/Matrix4x4.hpp"
        #include "Core/Rectangle.hpp"
        #include "Core/Box.hpp"

        #include "Core/Color.hpp"
    }

    namespace graphics
    {
		#include "Graphics/Imaging.hpp"
		#include "Graphics/Graphics.hpp"
    }

    namespace sys
    {
        #include "System/Framer.hpp"
        #include "System/Window.hpp"
    }
}

#endif
